🌻 Three ways to use causal mapping#

Three different ways to use causal mapping. The workflow is similar for each: import interviews and/or reports and code them (identifying all the causal claims, where someone says that one thing influences another) manually or with AI.

General social research

What do people think, and what drives what?

Gather open accounts on any topic and map the causal claims people make. No fixed framework: the drivers emerge from the material, feedback loops and all.

flowchart TD
  A[Divisive posts] --> B[More engagement]
  B --> C[Algorithm amplifies]
  C --> D[Polarisation]
  D --> A
  D --> E[Distrust in institutions]
  classDef node fill:#ffffff,stroke:#6DC4C8,color:#1F1F36;
  classDef out fill:#1F1F36,stroke:#1F1F36,color:#ffffff;
  class A,B,C,E node;
  class D out;

A feedback loop driving polarisation, with a downstream branch.

Testing a theory of change

Does the evidence back your theory of change?

Build a theory of change inductively from reports and interviews, or apply a fixed codebook from an existing theory, or mix the two approaches. Either way the map can also surface outcomes you never expected. Behind each link are multiple quotes from multiple sources.

flowchart TD
  T[Training delivered] --> S[Skills put into practice]
  S --> O[Outcomes improve]
  U["⚡ Unexpected: peer mentoring"] --> O
  classDef step fill:#ffffff,stroke:#FF8FB8,color:#1F1F36;
  classDef surprise fill:#FEF0F5,stroke:#C64B79,color:#C64B79,stroke-dasharray:5 3;
  class T,S,O step;
  class U surprise;

Validating a theory of change

As the skeleton for an entire evaluatio

Run the whole evaluation from one coded evidence base

Import all your material, code it once, and use the map as the backbone of the study. Express each evaluation question as one or more filters applied to the complete map. Then read the answer off the evidence.

flowchart LR
  I[Intervention] --> PA[Pathway A]
  I --> PB[Pathway B]
  PA --> O1[Outcome 1]
  PB --> O1
  PB --> O2[Outcome 2]
  X[Other factors] -.-> O2
  classDef node fill:#ffffff,stroke:#00C98B,color:#1F1F36;
  classDef src fill:#1F1F36,stroke:#1F1F36,color:#ffffff;
  classDef alt fill:#ffffff,stroke:#8A8A9A,color:#5A5A6E,stroke-dasharray:4 3;
  class PA,PB,O1,O2 node;
  class I src;
  class X alt;

Questions you can answer